package diagram;

import java.util.EventObject;

/**
 * Evènement de sélection d'un ModelElement.
 * 
 * @author A. Estebe
 *
 */
public class ElementSelectionEvent extends EventObject {
	
	/**
	 * UID de classe pour serialisation.
	 */
	private static final long serialVersionUID = 9203382801824017557L;
	
	/**
	 * Indique s'il s'agit d'une sélection ou non.
	 */
	private boolean selected;
	
	/**
	 * L'élément du modèle qui a levé l'évènement.
	 */
	private ModelElement modelElement;
	
	/**
	 * Construit une instance d'évènement.
	 * 
	 * @param modelElement l'élément du modèle sélectionné.
	 */
	public ElementSelectionEvent(ModelElement modelElement) {
		super(modelElement);
		selected = modelElement.isSelected();
	}

	/**
	 * Indique s'il s'agit d'un évènement de sélection.
	 * 
	 * @return <code>true</code> pour une sélection, <code>false</code> sinon.
	 */
	public boolean isSelected() {
		return selected;
	}

	/**
	 * Fournit l'élément du modèle concerné.
	 * 
	 * @return l'instance de ModelElement.
	 */
	public ModelElement getModelElement() {
		return modelElement;
	}
	
	
}
